<?php

namespace App\Http\Requests;

use Illuminate\Validation\Rule;

/**
 * 分类目录request验证类
 */
class ClassifyRequest extends BaseRequest
{
    /**
     * 这个地方记得为 true, 默认为 false 会返回 403 未授权提示
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * 验证规则
     * @return string[]
     */
    public function rules()
    {
        return [
            'title'       => 'required|between:2,127', //分类名称
            'parent_id'   => 'required|integer', //上级
            'template_id' => 'required|integer', //模板
            'archives_no' => 'required|between:2,127', //档案号
            'type'        => ['required', Rule::in(['J','K'])], //种类J和K
            'project_no'  => 'required', //项目代码
            'stage_code'  => 'present', //阶段代码
            'major_code'  => 'present' //专业代码
        ];
    }

    /**
     * 验证不通过提示
     * @return string[]
     */
    public function messages()
    {
        return [
            'title.required'       => '名称不能为空！',
            'title.between'        => '名称长度不合法！',
            'parent_id.required'   => '请指定上级,没有则传0',
            'template_id.required' => '请指定模板',
            'archives_no.required' => '请指定档案号',
            'type.required'        => '种类必填！',
            'type.in'              => '种类不合法！',
            'project_no.required'  => '项目代码必填',
            'stage_code.present'   => '请上传阶段代码参数',
            'major_code.present'   => '请上传专业代码参数'
        ];
    }

}
